Repository navigation
fix(escrow): splitRelease strips the nested escrow.metadata like the others - #686
yggdrasilworld wants to merge 3 commits into
Conversation
…others splitRelease returned raw Payment[] — a loaded payment.escrow relation carried Escrow.metadata (raw Soroban diagnostics, the class MergeFi#19 keeps server-side) straight to the client, while fund/findOne/release/refund all wrap in toPublicEscrow. Added toPublicPayment — strips the relation's metadata — and applied it. Resolves MergeFi#91
|
@yggdrasilworld is attempting to deploy a commit to the chonilius' projects Team on Vercel. A member of the Team first needs to authorize it. |
The stacked-merge base left three files unable to compile: - escrow.service.ts: overlapping invokeOnLockedEscrow returns (kept u64) - sponsors.controller.ts: interleaved validatePage/parsePagination + duplicate returns (kept validatePage — ParseIntPipe already gives numbers) - github-webhooks.service.spec.ts: missing it()/describe() closers Spec drift synced: fund() callerUserId arg, releasePartial's manager arg, lowercase role enum values, dto-shaped release()/splitRelease() calls, checksum-valid Stellar/UUID fixtures, and a StrKey stub in the jest mock. Real bug fixed along the way: FundEscrowDto.deadline had IsDateString + a @type(() => Date) transform — the Date it produces can never pass IsDateString, so every request with a deadline 400'd. Now IsDate, which still rejects Invalid-Date results.
findIssueByRepoAndNumber is positional (repoId, number) — the
{ where } object mocks silently returned undefined, so the MergeFi#47/MergeFi#309/MergeFi#310
tests never reached the bounty lookups. 36/36 pass.
|
Verification — tests run (real jest, this PR's head)
Fixed while verifying: three mangled merges on the stacked base ( |
|
Closing — the linked issue was closed upstream, so this lane can no longer merge. Work preserved on the branch if it is ever reopened. |
What
splitReleasereturned rawPayment[]— a loadedpayment.escrowrelation carriedEscrow.metadata(raw Soroban diagnostics, the class #19 keeps server-side) straight to the client. Every other escrow route wraps intoPublicEscrow; this one didn't.Fix
Added
toPublicPayment— strips the nested relation'smetadata— and applied it tosplitRelease.Resolves #91
Payment: Base USDC
0xD40Df5c27cEa7dd78A3c345401995c319589334e